import { assetManager, loader, Prefab, SpriteFrame, _decorator } from "cc";
import Loader from "../../../Common/Loader";

const { ccclass } = _decorator;

@ccclass
export class ResUtils {
    static loadImgUrl(url, callBack) {
        assetManager.loadRemote(url, { ext: '.png' }, (err, res) => {
            if (!!err) {
                console.error(err);
                return;
            }
            callBack(res);
        });
        // loader.load({ url: url, type: 'png' }, (err, texture) => {
        //     if (err == null) {
        //         callBack(texture);
        //     } else {
        //         callBack(null);
        //     }
        // });
    }

    static loadImgRes(url, callBack) {
        loader.loadRes(url, SpriteFrame, (err, spriteFrame) => {
            if (err == null) {
                callBack(spriteFrame);
            } else {
                callBack(null);
            }
        });
    }

    static loadPrefab(url, callBack) {
        Loader.loadBundle("HeyGameSDK", () => {
            Loader.loadBundleRes("HeyGameSDK", url, (res) => {
                if (!!res) {
                    callBack(res);
                } else {
                    callBack(null);
                }
            }, Prefab, false);
        });
        // loader.loadRes(url, Prefab, (err, prefab) => {
        //     if (err == null) {
        //         callBack(prefab);
        //     } else {
        //         callBack(null);
        //     }
        // });
    }
}